#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

template<class T>
T add(const T& left, const T& right);

void func();

template<class T>
class stack
{
public:
	void push(const T& x);
	void pop();
private:
	T* _a = nullptr;
	int _top = 0;
	int _capacity = 0;
};


template<class T>
T add(const T& left, const T& right)
{
	cout << "T add(const T& left, const T& right)" << endl;
	return left + right;
}

void func()
{
	cout << "void func()" << endl;
}

template<class T>
void stack<T>::push(const T& x)
{
	cout << "stack<T>::push(const T& x)" << endl;
}


template<class T>
void stack<T>::pop()
{
	cout << "stack<T>::pop()" << endl;
}